package com.zzw.service;

import com.zzw.bean.Menu;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author 赵志伟
 * @version 1.0
 */
public interface MenuService {

    public List<Menu> selectMenuRootElement();

    public List<Menu> selectMenuChildElement(Menu menu);

    public List<Menu> selectMenuNode(Menu menu);

    public List<Menu> selectMenuNodeByUserId(Menu menu, Integer userId);

    /**
     * 根据角色ID查询菜单节点，并标记该角色已拥有的菜单
     * @param menu 菜单信息，包括父节点ID
     * @param roleId 角色ID
     * @return 菜单节点列表
     */
    public List<Menu> selectMenuNodeByRoleId(Menu menu, Integer roleId);

    //1.可以插入根节点，也可以插入子节点
    public boolean insertNode(Menu menu);

    //2.删除节点
    public boolean deleteNode(Integer id);

    //3.更新节点
    public boolean updateNode(Menu menu);
}
